Predicting Refactoring Activities via Time Series
نویسندگان
چکیده
Refactoring activities should be carefully planned in advance for different reasons: i) they can be expensive in terms of resources needed; ii) refactoring is highly requested when clones, code smells or other potential problems reach a given threshold; and iii) such activities should be performed when the evolution of the software system is in a stable period. This work proposes to apply time series forecasting for determining the future releases in correspondence of which refactoring activities should be performed. The idea is to analyze different metrics (size and complexity, cloning ratio, number of smells, etc.) from past releases to predict the optimal refactoring point.
منابع مشابه
Refactoring Methods and Tools
Producing software is a very complex process that takes a considerable time to evolve. Poorly designed software systems are difficult to understand and maintain. Software maintenance can take up to 50% of the overall development costs of producing software. One of the main attributes to these high costs is poorly designed code, which makes it difficult for developers to understand the system ev...
متن کاملModeling and prediction of time-series of monthly copper prices
One of the main tasks to analyze and design a mining system is predicting the behavior exhibited by prices in the future. In this paper, the applications of different prediction methods are evaluated in econometrics and financial management fields, such as ARIMA, TGARCH, and stochastic differential equations, for the time-series of monthly copper prices. Moreover, the performance of these metho...
متن کاملPredicting Classes in Need of Refactoring: An Application of Static Metrics
This paper introduces a class-based approach to predicting refactoring candidates. Using a selected set of static metrics and a weighted ranking method, a tool was designed to predict a prioritized list of classes in need of refactoring. A study was designed and undertaken to compare the performance of the refactoring decision tool to that of human reviewers on the task of finding design proble...
متن کاملSeminar Program Analysis and Transformation Program Slicing and Sliding for Refactoring
Slicing is an approach to divide a program into chunks that share a common property, like their contribution to the result of a calculation. Slicing can be used to leverage the power of refactoring tools by providing a deeper understanding of the code. For example, the Extract Method refactoring used to extract a series of statements can—with the aid of a slicing algorithm—be enhanced to allow ...
متن کاملAvailability Prediction of the Repairable Equipment using Artificial Neural Network and Time Series Models
In this paper, one of the most important criterion in public services quality named availability is evaluated by using artificial neural network (ANN). In addition, the availability values are predicted for future periods by using exponential weighted moving average (EWMA) scheme and some time series models (TSM) including autoregressive (AR), moving average (MA) and autoregressive moving avera...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003